package com.cc.model.dto

import jakarta.validation.constraints.Size
import java.io.Serializable
import java.time.LocalDateTime

/**
 * DTO for {@link com.cc.model.Script}
 */
data class ScriptDto(
    @field:Size(max = 32) val id: String? = null,
    @field:Size(max = 32) val categoryId: String? = null,
    @field:Size(max = 50) val scriptName: String? = null,
    val scriptDescription: String? = null,
    @field:Size(max = 10) val scriptType: String? = null,
    @field:Size(max = 200) val scriptPath: String? = null,
    @field:Size(max = 50) val scriptRepositoryId: String? = null,
    @field:Size(max = 50) val scriptQuartz: String? = null,
    @field:Size(max = 50) val syncStrategy: String? = null,
    @field:Size(max = 50) val scriptLogLevel: String? = null,
    @field:Size(max = 50) val scriptStatus: String? = null,
    val addTime: LocalDateTime? = null,
    @field:Size(max = 32) val addUser: String? = null,
    val editTime: LocalDateTime? = null,
    @field:Size(max = 32) val editUser: String? = null,
    val delFlag: Int? = null,
    val scriptParams: String? = null,
    @field:Size(max = 10) val executeType: String? = null,
    val failRetryTime: Int? = null,
    @field:Size(max = 255) val failRetryScriptPath: String? = null,
    @field:Size(max = 500) val failRetryParams: String? = null,
    @field:Size(max = 20) val failRetryScriptId: String? = null,
    val failRetryType: Int? = null,
    @field:Size(max = 255) val failRetryScriptName: String? = null
) : Serializable